package com.hr;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;

import org.hibernate.annotations.BatchSize;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

import com.espirit.eap.sa.Employee;
import com.googlecode.cswish.model.Saas;

@Entity
//@DomainModel
//@ModelDisplayProperty("scope")
@BatchSize(size=15)
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class SalaryEmployeeDefine implements Serializable , Saas{
	private static final long serialVersionUID = -1167211601692536076L;
	private Integer id;
	
	private Integer sid;
	public Integer getSid() {
		return sid;
	}

	public void setSid(Integer sid) {
		this.sid = sid;
	}
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	

	@ManyToOne(fetch=FetchType.LAZY)
	public SalaryDefine getParent() {
		return parent;
	}
	public void setParent(SalaryDefine parent) {
		this.parent = parent;
	}

	@ManyToOne(fetch=FetchType.LAZY)
	public Employee getEmployee() {
		return employee;
	}
	public void setEmployee(Employee employee) {
		this.employee = employee;
	}
	
	public BigDecimal getMonthSalaryDays() {
		return monthSalaryDays;
	}
	public void setMonthSalaryDays(BigDecimal monthSalaryDays) {
		this.monthSalaryDays = monthSalaryDays;
	}
	public BigDecimal getDaySalaryHours() {
		return daySalaryHours;
	}
	public void setDaySalaryHours(BigDecimal daySalaryHours) {
		this.daySalaryHours = daySalaryHours;
	}
	

	private SalaryDefine parent;
	private Employee employee;
	private BigDecimal monthSalaryDays;
	private BigDecimal daySalaryHours;
}
